////////////////////////////////////////
// EECE478 COMPUTER GRAPHICS
// Spring term 2011
// Assignment 1 Model Rendering
// (Tim) Wei-Ting Liu
// #29144052
////////////////////////////////////////

#include <vector>
#include <fstream>
#include <sstream>
#include <iostream>

 struct coor3d{
	 float x;
	 float y;
	 float z;
};

// struct file type for loading triangles
struct triangle{
	std::vector<unsigned int> vertex;
	unsigned int normal;
	unsigned int texture;
	std::vector<std::vector<float>> textureCoordinate;
};

std::vector<float> loadCoor3d(float&);

triangle loadTriangle(std::vector<std::string> str);

class loadModel{
public:
	loadModel(std::string);
	std::string getBuildingName();
	std::vector<std::string> getTexture();
	std::vector<std::vector<float>> getVertex();
	std::vector<std::vector<float>> getNormal();
	std::vector<triangle> getTriangle();
	~loadModel();

private:
	std::string buildingName;
	std::vector<std::string> texture;
	std::vector<std::vector<float>> vertex;
	std::vector<std::vector<float>> normal;
	std::vector<triangle> triangleSet;
};